builder-tool: Rewrite GtkBuilder templates too
authorLubomir Rintel <lkundrak@v3.sk>
Thu, 30 May 2019 07:20:52 +0000 (09:20 +0200)
committerLubomir Rintel <lkundrak@v3.sk>
Thu, 30 May 2019 08:34:24 +0000 (10:34 +0200)
gtk/tools/gtk-builder-tool-simplify.c

index 776496ca4a2cc4fc12b7decac40654c1a7a3391a..f302f0991abfcc71475b7adb2a099ba13f26b65a 100644 (file)
@@ -528,12 +528,19 @@ set_attribute_value (Element *element,
     }
 }
 
+static gboolean
+element_is_object_or_template (Element *element)
+{
+  return g_str_equal (element->element_name, "object") ||
+         g_str_equal (element->element_name, "template");
+}
+
 static const char *
 get_class_name (Element *element)
 {
   Element *parent = element->parent;
 
-  if (g_str_equal (element->element_name, "object"))
+  if (element_is_object_or_template (element))
     parent = element;
 
   if (g_str_equal (parent->element_name, "packing"))
@@ -1446,48 +1453,48 @@ rewrite_element (Element      *element,
       l = next;
     }
 
-  if (g_str_equal (element->element_name, "object") &&
+  if (element_is_object_or_template (element) &&
       g_str_equal (get_class_name (element), "GtkStack"))
     rewrite_stack (element, data);
 
-  if (g_str_equal (element->element_name, "object") &&
+  if (element_is_object_or_template (element) &&
       g_str_equal (get_class_name (element), "GtkAssistant"))
     rewrite_assistant (element, data);
 
-  if (g_str_equal (element->element_name, "object") &&
+  if (element_is_object_or_template (element) &&
       g_str_equal (get_class_name (element), "GtkNotebook"))
     rewrite_notebook (element, data);
 
-  if (g_str_equal (element->element_name, "object") &&
+  if (element_is_object_or_template (element) &&
       (g_str_equal (get_class_name (element), "GtkActionBar") ||
        g_str_equal (get_class_name (element), "GtkHeaderBar")))
     rewrite_pack_type (element, data);
 
-  if (g_str_equal (element->element_name, "object") &&
+  if (element_is_object_or_template (element) &&
       g_str_equal (get_class_name (element), "GtkPopoverMenu"))
     rewrite_child_prop_to_prop (element, data, "submenu", "name");
 
-  if (g_str_equal (element->element_name, "object") &&
+  if (element_is_object_or_template (element) &&
       g_str_equal (get_class_name (element), "GtkToolbar"))
     rewrite_child_prop_to_prop (element, data, "expand", "expand-item");
 
-  if (g_str_equal (element->element_name, "object") &&
+  if (element_is_object_or_template (element) &&
       g_str_equal (get_class_name (element), "GtkToolbar"))
     rewrite_child_prop_to_prop (element, data, "homogeneous", "homogeneous");
 
-  if (g_str_equal (element->element_name, "object") &&
+  if (element_is_object_or_template (element) &&
       g_str_equal (get_class_name (element), "GtkPaned"))
     rewrite_paned (element, data);
 
-  if (g_str_equal (element->element_name, "object") &&
+  if (element_is_object_or_template (element) &&
       g_str_equal (get_class_name (element), "GtkOverlay"))
     rewrite_layout_props (element, data);
 
-  if (g_str_equal (element->element_name, "object") &&
+  if (element_is_object_or_template (element) &&
       g_str_equal (get_class_name (element), "GtkGrid"))
     rewrite_grid_layout (element, data);
 
-  if (g_str_equal (element->element_name, "object") &&
+  if (element_is_object_or_template (element) &&
       g_str_equal (get_class_name (element), "GtkFixed"))
     rewrite_layout_props (element, data);